User provisioning software is software intended to help organizations more quickly, cheaply, reliably, and securely manage information about users on multiple systems and applications. In today's computer systems, software is often installed before the computer is sold, and the purchaser may later want to add, update, or remove software. More and more of today's software systems are provisioned dynamically and are able to support extensions from the original software provider, the customer of the software system, and third-parties.
User provisioning refers to the creation, maintenance, and/or deactivation of user objects and user attributes, as they exist in one or more systems, directories, or applications, in response to automated or interactive business processes. User software may be provisioned on any computing environment that has individually configurable and/or upgradable components. User objects may represent employees, contractors, vendors, partners, customers, or other recipients of a service. Services may include electronic mail, inclusion in a published user directory, access to a database, access to a network or mainframe, etc. User provisioning is a type of identity management software, particularly useful within organizations, where users may be represented by multiple objects on multiple systems.
A trend of modern software systems is to “componentize” software into smaller pieces (components) to support re-use and targeted updates. This often involves support for multiple versions of the same component. Furthermore, provisioning may often involve running pre-provisioning and post-provisioning logic on the software system. For example, an active component in the runtime may involve deactivation before removal, and an added component may involve activation after installation.
An agent that provisions large, dynamic systems with large numbers of components, complicated interdependencies, and runtime scripting can fail in many ways, and it is often beyond a user's ability to diagnose such provisioning failures.